<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <script src="../vue.js"></script>
    <title>Document</title>
    <style>
      *{
        margin: 0;
        padding: 0;
      }
      .bigBox{
        width: 230px;
        margin: 50px 0 0 200px;
      }
      .topBox{
        display: flex;
        justify-content: space-between;
      }
      ul{
        list-style: none;
      }
      li{
        display: flex;
        justify-content: space-between;
        margin-top: 20px;
      }
      .smallBox{
        margin-top: 20px;
      }
      
    </style>
  </head>
  <body>
    <div id="app" class="bigBox">
      <!-- 
        1.有待办事项展示待办事项，没有则显示空空如也
        2.输入内容后，下次输入前应该清除上次的
        3.删除功能
        4.加分项 样式写好看点
       -->
       <div class="topBox">
        <input type="text" v-model="myToDo" />
        <button @click="add">添加</button>
       </div>
      <ul>
        <li v-for="(item,index) in list" :key="index">
          {{item}}
          <!-- del的index与上面循环的index相对应 -->
          <button @click="del(index)">删除</button>
        </li>
      </ul>
      <!-- 当数组的长度为0时出现（没有数据的时候） -->
      <div v-if="list.length === 0" class="smallBox">空空如也～</div>
    </div>
    <script>
      Vue.config.productionTip = false;//阻止vue产生时生成的提示
      var app = new Vue({
        el: "#app",
        data: {
          myToDo: "",
          list: ["吃饭", "睡觉", "打豆豆"],
        },
        methods: {
          //添加待办事项
          add() {
            //将内容新增到数组里面
            this.list.push(this.myToDo);
            //将input框内的内容清空
            this.myToDo = ""
          },
          //删除待办事项
          del(index) {
            //这里的index是记录点击时list里面的索引是几
            //然后通过数组的splice方法，将索引对应的数据剪切掉（删除）
            this.list.splice(index,1)
          },
        },
      });
    </script>
  </body>
</html>
